package com.example.chapter03;

import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.example.chapter03.Utils.DateUtil;

public class ButtonEnableActivity extends AppCompatActivity implements View.OnClickListener {

    private Button btn_test;
    private TextView tv_result;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button_enable); // 加载布局

        // 获取三个按钮和文本视图的实例
        Button btn_enable = findViewById(R.id.btn_enable); // “启用”按钮
        Button btn_disable = findViewById(R.id.btn_disable); // “禁用”按钮
        btn_test = findViewById(R.id.btn_test); // 测试按钮
        tv_result = findViewById(R.id.tv_result); // 结果文本

        // 给三个按钮设置点击监听器（当前Activity实现了OnClickListener，故传this）
        btn_enable.setOnClickListener(this);
        btn_disable.setOnClickListener(this);
        btn_test.setOnClickListener(this);
    }


    @Override
    public void onClick(View v) {
        int id = v.getId(); // 获取被点击控件的id
        if (id == R.id.btn_enable) {
            // 点击“启用测试按钮”：恢复测试按钮的可点击状态
            btn_test.setEnabled(true); // 启用按钮（设置为可点击）
            btn_test.setTextColor(Color.BLACK); // 文字改为黑色（视觉上提示可点击）
        } else if (id == R.id.btn_disable) {
            // 点击“禁用测试按钮”：让测试按钮不可点击
            btn_test.setEnabled(false); // 禁用按钮（设置为不可点击）
            btn_test.setTextColor(Color.GRAY); // 文字改为灰色（视觉上提示禁用）
        } else if (id == R.id.btn_test) {
            // 点击“测试按钮”：仅当按钮启用时才会触发（禁用时点击无反应）
            // 拼接点击时间和按钮文本（DateUtil.getNowTime()获取当前时间）
            String desc = String.format("%s 您点击了按钮： %s",
                    DateUtil.getNowTime(), // 假设该工具类返回当前时间字符串（如“15:30:22”）
                    ((Button) v).getText()); // 获取测试按钮的文本（“测试按钮”）
            tv_result.setText(desc); // 在文本视图中显示结果
        }
    }


}